

#ifndef UCPLHOSTAPPSERVICES_H
#define UCPLHOSTAPPSERVICES_H

class UcPlPlotLogger;
class UecadPlotInternalServices;

class ZSOFT_NO_VTABLE UcPlHostAppServices
{
public:
    enum PlotStatus {
        kSheetIdxAndName = -5, kDisableCancelSheet = -4, kDwfFilePlotted = -3, kPlottingMsg = -2,
        kNoPlotYet = -1, kPlotStart = 0, kViewPlotLog = 1, kPlotSuccessful = 2,
        kPlotHadErrors = 3, kPlotHadSystemError = 4, kViewPlottedFile = 5, kViewFileWhenSuccessful = 6,
    };

    virtual UcPlPlotLogger * getPlotLogger(void) = 0;
    virtual const UecadPlotInternalServices* ucadInternalServices() = 0;

    virtual void updatePlotJobStatus(enum UcPlHostAppServices::PlotStatus nStatus, const ZTCHAR *szPlotMsg) = 0;
};

UCPL_PORT Ucad::ErrorStatus UcPlSetHostAppServices(UcPlHostAppServices *pHostServices);
UCPL_PORT UcPlHostAppServices *UcPlGetHostAppServices();

#endif 
